/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package rpt.bd.cenario;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JOptionPane;

/**
 * Classe com métodos estáticos de manipulação de banco de dados.
 * @author Roberto Plácido Teixeira
 * @version 1.0.1
 */
public class CBdLib {
    /**
     * execUpdate: executa o método execUpdate do objeto aStatment.
     * @param aQueryStr
     * @param aStatment
     * @return 
     */

    public static int execUpdate(
            final String aQueryStr, 
            final Statement aStatment) {
        int vResultado = -1;
        try {
            aStatment.executeUpdate(aQueryStr);
            vResultado = 0;
        } catch (SQLException ex) {
//          JOptionPane.showMessageDialog(null,aQueryStr+"["+ex.getMessage()+"]");
            JOptionPane.showMessageDialog(null,"["+ex.getMessage()+"]");
            Logger.getLogger(CBdLib.class.getName()).log(Level.SEVERE, null, ex);
            vResultado = -2;
        }
        return vResultado;
    }

    /**
     * execUpdateAutoIncremento: executa o método execUpdate do objeto aStatment.
     * e retorna o valor da chave autoincremento, se a sentença for de insert.
     * @param aQueryStr
     * @param aStatment
     * @return 
     */

    public static int execUpdateAutoIncremento(
            final String aQueryStr,
            final Statement aStatment) {
        final int vResultado = execUpdate(aQueryStr,aStatment);
        if (vResultado == 1) {
            //int vResultado = execUpdate(aQueryStr, aNomeClasse);
        }
        return vResultado;
    }

    /**
     * execUpdate: executa o método execUpdate do objeto aStatment.
     * @param aQuery
     * @param aStatment
     * @return 
     */

    public static ResultSet execSelect(String aQuery, Statement aStatment) {
        ResultSet vRs = null;
        if (aQuery != null) {
            try {
                vRs = aStatment.executeQuery(aQuery);
            } catch (SQLException ex) {
                JOptionPane.showMessageDialog(null,ex.getMessage());
                vRs = null;
                Logger.getLogger(CBdLib.class.getName()).log(Level.SEVERE, null, ex);
            }
        }
        return vRs;
    }
}
